Onderdeel van het project De Staat van De Haagse van het lectoraat Learning Technology & Analytics (LTA) is een geografische analyse van het toeleveringsgebied van De Haagse Hogeschool (De HHs). Hiermee bedoelen we de regio binnen Nederland waar onze studenten vandaan komen.
Deze handleiding van het lectoraat Learning Technology & Analytics beschrijft en verantwoordt de methode om deze gegevens aan elkaar te koppelen en daaruit verbanden op te maken. Heb je suggesties voor verbeteringen? Mail die dan naar Theo Bakker, t.c.bakker@hhs.nl.
We maken gebruik van publieke data over gemeenten, wijken en buurten van het Centraal Bureau voor de Statistiek (CBS). Het CBS biedt data aan per gemeente, wijk en buurt, maar ook per postcode. In de StatLinepublicaties Kerncijfers wijken en buurten (KWB) zijn kerncijfers opgenomen over alle wijken en buurten in Nederland. Deze data bevat statistische kenmerken, zoals geboorte- en sterftecijfers, en geografische kenmerken. De grenzen van de gemeenten, wijken en buurten verschillen per jaar. Het is van belang daarmee rekening te houden en nieuwe versies te gebruiken.
We bewerken de data met behulp van de open source programma’s QGis, R en RStudio. QGis is een softwarepakket voor het bewerken en analyseren van GIS-data (GIS = Geografisch Informatiesysteem). We gebruiken de Engelse interface, omdat het zoeken naar hulpbronnen daarin eenvoudiger is. R is een programmeertaal voor Data Science vergelijkbaar met Python. Met RStudio kan je R code maken, maar ook documenten. Deze handleiding is bijvoorbeeld met R gemaakt. Je kunt deze handleiding doornemen zonder kennis van deze pakketten, maar je zult er het meeste aan hebben door ze wel te installeren. We maakten gebruik van QGis versie 3.30.1.
Het lectoraat Learning Technology & Analytics heeft als missie:
Data informed bevorderen van gelijke kansen voor studenten in het hoger onderwijs – en aan De Haagse Hogeschool in het bijzonder – zodat zij hun talenten kunnen ontwikkelen tot wat de maatschappij van hen vraagt.
Om te onderzoeken in welke mate gelijke kansen bevorderd worden, moeten we eerst onderzoeken in welke mate gelijke kansen er al wel of niet zijn. Daarvoor is onderzoek naar demografische en geografische achtergrondkenmerken van cruciaal belang.
Dit document is opgesteld door Dr. T.C. Bakker, lector Learning Technology & Analytics, Kenniscentrum Global & Inclusive Learning van De HHs; t.c.bakker@hhs.nl.
Het toeleveringsgebied van De HHs hangt samen met de bereikbaarheid van de verschillende locaties van de school en daarmee dus ook het type vervoer dat een student heeft. We gaan uit van een maximale reistijd van de school in de spits met het openbaar vervoer van 60 minuten. Het blijkt dat er veel plaatsen dichterbij liggen dan je wellicht zou verwachten: Dordrecht, Gouda, Woerden, maar ook Amsterdam en Haarlem. Deze nemen we dan ook mee in de analyses. Zie voor reistijden van alle locaties bijlage 1.
Per locatie van De HHs is er voor medewerkers van De HHs op aanvraag een lijst van gemeenten beschikbaar die we op basis van de reistijden meenemen in analyses. Deze lijst is gemaakt met behulp van de viewer op de publieke, geografische data van Publieke Dienstverlening Op de Kaart (PDOK).
PDOK is een platform voor het ontsluiten van geodatasets van Nederlandse overheden. Dit zijn actuele en betrouwbare gegevens voor zowel de publieke als private sector. PDOK stelt digitale geo-informatie als dataservices en bestanden beschikbaar. De PDOK diensten zijn gebaseerd op open data en daarom voor iedereen vrij beschikbaar.
buurt_2022_v1.shp in QGis. Je ziet nu
een kaart met 1 laag van alle buurten in Nederland.Properties….Source de
Query Builder."GM_CODE" IN ('GM0518', 'GM0358', 'GM0482', 'GM0613', 'GM0484', 'GM0489', 'GM0377', 'GM1901', 'GM0501', 'GM0502', 'GM0505', 'GM0503', 'GM0513', 'GM0512', 'GM0392', 'GM0394', 'GM0523', 'GM0397', 'GM0530', 'GM0531', 'GM0534', 'GM1963', 'GM1884', 'GM0537', 'GM1931', 'GM0542', 'GM1621', 'GM0546', 'GM0547', 'GM1916', 'GM0553', 'GM0556', 'GM1842', 'GM1978', 'GM0335', 'GM0569', 'GM1930', 'GM0575', 'GM0579', 'GM0589', 'GM0590', 'GM1926', 'GM0597', 'GM0603', 'GM0599', 'GM0606', 'GM0610', 'GM1525', 'GM0622', 'GM0626', 'GM0627', 'GM0629', 'GM1783', 'GM0614', 'GM0632', 'GM0473', 'GM0637', 'GM0638', 'GM1892', 'GM0642').
Klik dan op OK.Zie figuur 2 voor het voorlopige resultaat; test @fig:cbs-qgis-dh-01.
De volgende stap is een variabele te laden op deze kaart,
bijvoorbeeld de bevolkingsdichtheid (BEV_DICHTH1).
-99999999. Deze moeten we filteren, omdat anders de legenda
van de kaart niet zal kloppen. Voeg hiervoor in de
Query Builder toe:
AND "BEV_DICHTH" >= 0.Laag opmaken zichtbaar via
View > Panels > Layer styling. Het is handig dit
paneel standaard op te nemen in je scherm.5-class YlGnBu.Symbologie de volgende instellingen:
GraduatedValue : BEV_DICHTH.Legend format : %1 - %2; dit bepaalt
hoe de onder- en bovengrenswaarden in de legenda getoond worden.Color ramp : YlGnBu; je ziet nu een
kaart met de eerste kleuren, maar de waarden zijn nog niet mooi
rond.Classes : 5.Mode : Pretty Breaks.Zie figuur 4 voor het nieuwe resultaat.
De volgende stap is een titel, de legenda en een schaal bij de kaart af te drukken.
Project > New Print Layout en geef je lay-out een naam:
HHs-Den-Haag-Bevolkingsdichtheid.Add Map en selecteer het hele canvas. De kaart
die je zojuist gemaakt hebt verschijnt omdat die kaartlaag nog zichtbaar
is in je programma.Add Label om een titel toe te voegen. Als
je op het tekstvak klikt verschijnen de Item Properties om
de opmaak aan te passen.Add Legend om de legenda toe te voegen.
Ook hier verschijnen de Item Properties waarmee de
instellingen kunt aanpassen. Voeg een titel toe en verberg de naam van
de laag. Klik daarvoor met je rechtermuisknop op de naam van de laag, en
vink ‘Hidden’ aan.Add Scale Bar om een schaal toe te
voegen. We kiezen hier voor de standaard instelling.Export as image en bewaar je afbeelding op een locatie naar
keuze. Geef het een herkenbare en begrijpelijke naam.Zie figuur 5 voor het nieuwe resultaat.
In het vorige hoofdstuk hebben we een kaart gemaakt op basis van gemeenten, wijken en buurten. In dit hoofdstuk herhalen we dit, maar nu op basis van postcode.
Postcodes zijn in 1977 ingevoerd in Nederland (Bron: Wikipedia). Postcodegebieden zijn oorspronkelijk bepaald op basis van ongeveer 25 adressen per postcodegebied. Hoe meer mensen ergens wonen, des te kleiner het postcodegebied. In kaarten kan dit wel eens een vertekend beeld geven: juist daar waar de meeste mensen wonen, zeker bij hoogbouw, is de weergave naar verhouding het kleinst.
De Nederlandse postcode bestaat uit vier cijfers, een spatie en twee letters. Dit geeft een postcode de vorm: 1234␣AB. De cijfers geven de stad, het dorp, de buurt of wijk aan, de letters zijn specifieker en geven de straat of een deel daarvan aan.
Een postcodegebied (de vier cijfers) ligt nagenoeg altijd binnen één gemeente, dus als een dorp of buurtschap op een gemeentegrens ligt, heeft het gewoonlijk meer dan één postcode. Het komt slechts zeer zelden voor dat twee plaatsnamen de cijfers van hun postcode gemeen hebben. In enkele gevallen, bijvoorbeeld door grenswijzigingen van dorpen of gemeenten sluit de praktijk niet meer naadloos aan bij deze beoogde eenduidigheid. Om praktische redenen worden dan vaak bestaande postcodes gehandhaafd. Er zijn overigens ook cijfercombinaties die maar één straat aangeven.
Zie Figuur 6 voor een overzicht van Nederlandse postcodes op basis van hun eerste 2 cijfers.
Ook voor geografische indelingen op basis van postcodes biedt het CBS data. Hiermee gaan we nu aan de slag.
CBS_pc4_2020_v1_points.shp in
QGis. Je ziet nu een kaart met 1 laag van alle postcodegebieden in
Nederland.INWONER). Het CBS vult in
dit bestand de velden met ontbrekende en verhulde waarden (van 0 t/4)
met de code -99997. Deze moeten we filteren, omdat anders
de legenda van de kaart niet zal kloppen. Voeg hiervoor in de
Query Builder toe: AND "INWONER" >= 0.5-class RdPu van Colorbrewer.
Volg verder hiervoor de stappen uit het vorige hoofdstuk om de kaart te
vullen en te bewaren. Zie voor het voorlopige resultaat figuur 7.De nieuwe kaart bevat geen gemeentecodes. Om in te kunnen zoomen op de gemeenten van de hoofdlocatie van De HHs moeten we de gemeentecodes eerst koppelen aan deze kaart. Het CBS biedt een koppeltabel aan van wijken en buurten aan postcodes. De meest recente versie op dit moment is van 2021.
Op aanvraag van Dienst DUO2 van het Ministerie van OCW wordt een koppeltabel afgeleid tussen alle uitgegeven postcode en huisnummer combinaties op 1 augustus 2021 in de BAG3, ongeacht of bijbehorende verblijfsobjecten in gebruik zijn, en de buurten, wijken en gemeenten van 2021.
Wanneer meerdere toevoegingen bij een huisnummer uitgegeven zijn worden deze samengenomen. In voorkomende gevallen waarbij deze toevoegingen over meerdere buurten verspreid liggen wordt die buurt toegekend waarin de meeste woningen liggen.
Op basis van de CBS koppeltabel hebben we in R een nieuw bestand4 gemaakt met voor elke postcode per vestiging van De HHs een kenmerk of het wel of niet in het spreidingsgebied valt:
pc6hnr20210801_gwb.csv voorzien
van een PC4 postcode (bijv. 1000) op basis van de PC6 postcode (bijv.
1000AA);Gemeentecodes en Wijkcodes
voorzien van de juiste prefixes en voorloopnullen;Dit nieuwe bestand laden we in en op basis van deze nieuwe kenmerken kunnen we nu de PC4 kaart filteren, waarna we de lay-out er weer op toepassen. Zie het nieuwe resultaat in figuur 8.
De studiedata van De HHs bevat PC4 gegevens, maar dat is niet het niveau waarop we willen rapporteren. Het is beter de data naar een hoger niveau te aggregeren, maar dit is al direct de gemeente, wat weer te algemeen is. Een tussenliggend niveau, de wijk, zou ideaal zijn: genoeg detail om verschillen in spreiding te zien, maar te vermijden dat we de data, lees achtergrondinformatie over studenten, precies koppelen aan een PC4 code.
Het CBS heeft een mapping tussen Gemeentecodes, Wijkcodes en PC4, maar dit is een veel-op-veel bestand. Van alle 4.069 PC4 codes valt maar liefst 34% niet in één wijk en 29 niet in één gemeente. Bij dubbelingen bepaalt het CBS op basis van het hoogste aantal woningen in een wijk of gemeente waaraan een PC4 wordt toegewezen.
Deze methode hebben we met R toegepast op de bestaande mapping en zo per PC4 een unieke combinatie voor een gemeente en wijk gemaakt. Deze hebben we gekoppeld aan de HHs Analyseset. Nu kunnen we de data van De HHs omzetten naar geaggregeerde gegevens per wijk en deze vergelijken met geografische gegevens van het CBS op wijkniveau.
Ook in R is het mogelijk om geografische kaarten te maken. Een voordeel van deze methode is dat data eenvoudiger te bewerken is en niet eerst in QGis ingelezen hoeft te worden.
De open data van het CBS wordt beschikbaar gesteld op het niveau van
gemeenten, wijken en buurten via het cbsodataR package van
Edwin de Jonge: de Statistics
Netherlands (CBS) Open Data API Client.
For long SN has put its data on the web in its online database StatLine. Since 2014 this data base has an open data web API based on the OData protocol. The cbsodataR package allows for retrieving data right into R.
Het opvragen van data via deze API verloopt via identifiers. De
identifier 83765NED bevat de data van de Kerncijfers wijken
en buurten 2017. Het opvragen de metadata van gaat met behulp van de
functie cbs_get_meta().
{r} dfCBS_metadata <- cbs_get_meta("83765NED")
Het voorbeeld dat we in dit hoofdstuk zullen maken is onderstaande kaart met geboortes per gemeente per 1.000 inwoners voor het toeleverende gebied van de locatie Johanna Westerdijk. Dit is een variant op de voorbeelden die het CBS aanbiedt bij een voor heel Nederland .
[ ] De weergave van deze afbeelding verbeteren (witruimte boven en onder)